﻿NMapMode = {

	### INTERACTIVE MAP MODE ###
	MAP_PAINTING_TEXTURE_TILING = 30							# Tiling of mapmodes textures
	MAP_PAINTING_FLATMAP_TEXTURE_TILING = 10					# Tiling of mapmodes textures in flatmap

	### CLOSE DISTANCE FADE ###
	# Used for borders and impassable terrain
	DISTANCE_FADE_START = 80.0f								# Height at which to start fading out when zooming in
	DISTANCE_FADE_END = 30.0f									# Height at which to be fully faded out
}
NMapName = {
	NAME_DRAW_DISTANCE = 2500.0				# Remove names beyond this distance
	NAME_FONT_NAME = "PlayfairDisplay"		# Font used for drawing the map names
	NAME_FONT_SIZE = 70					# Font size used for drawing the map names
	FADE_SPEED = 4.0						# How fast names fade in/out
	MAX_OPACITY = 0.8
	MIN_OPACITY = 0.0						# minimum opacity. Names hidden by draw distance will still fade to 0
	MIN_PROVINCES = 4						# minimum number of provinces for a name to be generated
	ZOOM_STEPS_VISIBLE_SCALES = {	# Each map-name has a scale. This list contains min-max values for each zoom step. If a name's scale is outside that range it will not be visible
		# min (hides names that are too small)
		# max (hides names when they get to large)
		0.0		5.0 	# 0
		0.0		5.0 	# 1
		0.0		5.0 	# 2
		0.0		5.0 	# 3
		0.0		5.0 	# 4
		0.0 	5.0		# 5
		0.0 	5.0		# 6
		0.0 	5.0		# 7 	Terrain map
		0.0 	5.0		# 8
		0.0 	5.0		# 9
		0.0 	5.0		# 10	Flatmap
		0.0 	5.0		# 11
		0.0 	5.0		# 12
		0.0 	5.0		# 13	No 2D UI on Map
		0.0 	5.0		# 14
		0.0 	5.0		# 15
	}
}

NJominiMapGraphics = {
	MAP_OBJECT_CELL_COUNT = 10
	MAP_OBJECT_FADE_SPEED = 5.0

	COUNTRY_NAMES_TEST_LINES_SPACING = 3.0
	COUNTRY_NAMES_SCALE = 0.6
	COUNTRY_NAMES_SCALE_CAP_WIDTH = 0.9
	COUNTRY_NAMES_SCALE_CAP_HEIGHT = 0.6
	COUNTRY_NAMES_NUM_LINE_TESTS = 1
	COUNTRY_NAMES_MAX_STRETCH_FACTOR = 1.6
	COUNTRY_NAMES_STRIDE_SIZE = 8
	COUNTRY_NAMES_LOD_FACTOR = 0.05		# As a form of AA, Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio
	COUNTRY_NAMES_THICKNESS_BIAS = 0.0	# More bias = thicker map names. Can be used to solve artifacts caused by thin areas
}

NJominiGraphics = {
	BLOOM_ITERATIONS = 1				# Overwritten by environment.txt
	NULL_ENTITY = "test_object_entity"
	NULL_MESH = "test_object_mesh"
}

NJominiEars = {
	RANGE_MIN =  10.0
	RANGE_MAX = 2000.0
}

NGraphics = {
	# Gradient Borders
	PROVINCE_BORDER_FADE_NEAR = 100
	PROVINCE_BORDER_FADE_FAR = 100
	STATE_BORDER_FADE_NEAR = 100
	STATE_BORDER_FADE_FAR = 100
	IMPASSABLE_BORDER_FADE_NEAR = 10
	IMPASSABLE_BORDER_FADE_FAR = 10
	DRAW_SHADOWS_CUTOFF = 1
	DRAW_SHADOWS_FADE_LENGTH = 1

	# SSAO modifiers
	SSAO_TREE_ALPHA = 0.01						# AO Alpha on trees
	SSAO_TERRAIN_ALPHA = 0.01					# AO Alpha on the terrain under trees and buildings

	# Map markers
	MAP_MARKER_MERGE_PROVINCES = 600.0
	MAP_MARKER_MERGE_STATES = 1200.0
	MAP_MARKER_MERGE_PROVINCES_STRATEGIC_REGION = 1600.0
	MAP_MARKER_FULL_UPDATE_FREQUENCY = 30.0					#Do the heavy parts of the map markers only every X seconds

	# Flat map specific
	FLAT_MAP_HEIGHT = 3.00
	FLAT_MAP_FADE_SPEED = 20.0		# How fast to fade to/from flat map state
	#FLAT_MAP_ZOOM_STEP = 8			# At which zoom step to fade to flat map
	FLAT_MAP_ZOOM_STEP = 10			# At which zoom step to fade to flat map

	# Water fixes
	WATER_SHADOW_MULTIPLIER = 0.01 				# Controls water shadow brightness ( multiplies the environment cubemap by this value and adds it to the shadow as light )

	# Map layers
	DYNAMIC_MAP_OBJECT_MASK_THRESHOLD_SHOW = 0.1					# When dynamic objects are being shown/hidden they use the material mask. This value determines the point at which the mask will make the objects to show/hide.
	DYNAMIC_MAP_OBJECT_MASK_THRESHOLD_HIDE = 0.05

	DYNAMIC_TERRAIN_LAZY_UPDATE_PROVINCES_PER_FRAME = 1			# Max number of provinces that may be updated per frame.
    DYNAMIC_TERRAIN_LAZY_UPDATE_MAX_TIME_PER_FRAME = 0.004          # Max time per frame to spend on dynamic terrain updates in seconds.
	COLLECT_VISIBLE_PROVINCE_DATA = yes
	VISIBLE_PROVINCE_DATA_MAX_PROVINCE_SIZE = 1000
	VISIBLE_PROVINCE_DATA_UPDATE_FREQUENCY = 30.0					# Update the visible province data only every X seconds

	# Route Spline fix
	ROUTE_GENERATION_NAV_MESH_DENSITY = 0.1					# Controls the density of vertexes in the navmesh used to generate the road system
	# Segment Border
	FRONT_SEGMENTS_POOL_SIZE = 256									# Amount of border segments that is supported by border system
	# Scaled Distance Roughness
	DISTANCE_ROUGHNESS_POSITION = 3		# Position to start blend
	DISTANCE_ROUGHNESS_BLEND = 80.0			# Blend range
	DISTANCE_ROUGHNESS_SCALE = 0.5			# Roughness multiplier scale
	DAYS_AFTER_BATTLE_TO_SHOW_ENTITY = 3	# For how long to show battle entities after the battle
}

NCities = {

	RICH_SOL = 20.0							# Buildings above this average SoL use the rich model
	MID_SOL = 10.0							# Buildings above this average SoL use the middleclass model

	RESIDENTIAL_CHANGE_DELAY = 180.0			# Time between updating the residential buildings of a city ( + 0-1 second for some random variance )

	RESIDENTIAL_PROMOTE_ENTITY = "residential_promotion_entity" # Entity that is spawned on a residential building that is promoted due to demographics changes
	RESIDENTIAL_DEMOTE_ENTITY = "residential_demotion_entity"	# Entity that is spawned on a residential building that is demoted due to demographics changes

	CITY_VFX_ZOOM_CUTOFF = 10				# zoom at which we hide all city VFXes
	CITY_PARTICLES_ZOOM_CUTOFF = 10  	# zoom at which we hide all city particle effects (for example chimney smoke)
}

NRoutes = {
	DIRTROAD_BRIDGES = { "dirtroad_bridge_01" }
	RAILROAD_1_BRIDGES = { "railroad_bridge_01" "railroad_bridge_02" }
	BRIDGE_SIZES = {
		"_small_mesh"
		"_medium_mesh"
		"_large_mesh"
		}
	ROUTE_ENTITIES_CUTOFF = 10				# zoom at which we hide all route entities
}
NProvinceHighlight = {
	TEXTURE_WIDTH = 256
	TEXTURE_HEIGHT = 128
	# Province highlights use poisson disc sampling to create a gradient
	# Poisson disc allows for a wider sample are with fewer samples
	KERNEL_SCALE = 1	# Size of the sample area, in world space
	SAMPLE_COUNT = 1	# How many samples to use (max 16)
}
